home *** CD-ROM | disk | FTP | other *** search
/ com!online 2005 May / com_0505_1.iso / opensource / top10 / amc_install.exe / {app} / Scripts / Update Fields (FR-US).ifs < prev    next >
Encoding:
Text File  |  2004-11-18  |  26.6 KB  |  834 lines

  1. // GETINFO SCRIPTING
  2. // Mise α jour massive de champs - by ScorEpioN
  3.  
  4. (***************************************************
  5.  *  Script de mise α jour des champs               *
  6.  *                                                 *
  7.  *  Script by ScorEpioN                            *
  8.  *                                                 *
  9.  *  Version : 6 - Update du 10/11/2004             *
  10.  *                                                 *
  11.  *  A utiliser avec Ant Movie Catalog 3.4.0        *
  12.  *  www.ant.be.tf/moviecatalog ╖╖╖ www.buypin.com  *
  13.  *                                                 *
  14.  *  The source code of the script can be used in   *
  15.  *  another program only if full credits to        *
  16.  *  script author and a link to Ant Movie Catalog  *
  17.  *  website are given in the About box or in       *
  18.  *  the documentation of the program               *
  19.  ***************************************************)
  20.  
  21. program UpdateAllField;
  22.  
  23. var
  24.   Update, NewField : String;
  25.  
  26. //------------------------------------------------------------------------------
  27. // FONCTION METS LE CHAMPS COMMENTAIRE A LA SUITE DU CHAMPS DESCRIPTION
  28. //------------------------------------------------------------------------------
  29. procedure moveComments();
  30. begin
  31.    SetField(fieldDescription,GetField(fieldDescription)+GetField(fieldComments));
  32.    SetField(fieldComments,'');
  33. end;
  34.  
  35. //------------------------------------------------------------------------------
  36. // FONCTION MISE A JOUR DU CHAMPS SOUS-TITRE
  37. //------------------------------------------------------------------------------
  38. procedure UpdateSubtitlesField();
  39. begin
  40.   if (NewField = '') then
  41.   begin
  42.     if Input('Update Subtitles Field by ScorEpioN', 'Entrez la nouvelle langue des sous-titres :', NewField) then
  43.     begin
  44.       NewField := AnsiUpFirstLetter(NewField);
  45.       SetField(fieldSubtitles, NewField);
  46.     end;
  47.   end else
  48.     NewField := AnsiUpFirstLetter(NewField);
  49.     SetField(fieldSubtitles, NewField);
  50. end;
  51.  
  52. //------------------------------------------------------------------------------
  53. // FONCTION MISE A JOUR DU CHAMPS TYPE DE SUPPORT
  54. //------------------------------------------------------------------------------
  55. procedure UpdateMediaTypeField();
  56. begin
  57.   if (NewField = '') then
  58.   begin
  59.     if Input('Update Media Type Field by ScorEpioN', 'Entrez le nouveau type de support :', NewField) then
  60.     begin
  61.       SetField(fieldMediaType, NewField);
  62.     end;
  63.   end else
  64.     SetField(fieldMediaType, NewField);
  65. end;
  66.  
  67. //------------------------------------------------------------------------------
  68. // FONCTION MISE A JOUR DU CHAMPS LANGUE
  69. //------------------------------------------------------------------------------
  70. procedure UpdateLanguageField();
  71. begin
  72.   if (NewField = '') then
  73.   begin
  74.     if Input('Update Language Field by ScorEpioN', 'Entrez la nouvelle langue du film :', NewField) then
  75.     begin
  76.       NewField := AnsiUpFirstLetter(NewField);
  77.       SetField(fieldLanguages, NewField);
  78.     end;
  79.   end else
  80.     NewField := AnsiUpFirstLetter(NewField);
  81.     SetField(fieldLanguages, NewField);
  82. end;
  83.  
  84. //------------------------------------------------------------------------------
  85. // FONCTION MISE A JOUR DU CHAMPS PAYS
  86. //------------------------------------------------------------------------------
  87. procedure UpdateCountryField();
  88. begin
  89.   if (NewField = '') then
  90.   begin
  91.     if Input('Update Country Field by ScorEpioN', 'Entrez le nouveau pays :', NewField) then
  92.     begin
  93.       SetField(fieldCountry, NewField);
  94.     end;
  95.   end else
  96.     SetField(fieldCountry, NewField);
  97. end;
  98.  
  99. //------------------------------------------------------------------------------
  100. // FONCTION MISE A JOUR DU CHAMPS CATEGORIE
  101. //------------------------------------------------------------------------------
  102. procedure UpdateCategorieField();
  103. begin
  104.   if (NewField = '') then
  105.   begin
  106.     if Input('Update Categorie Field by ScorEpioN', 'Entrez la nouvelle catΘgorie :', NewField) then
  107.     begin
  108.       SetField(fieldCategory, NewField);
  109.     end;
  110.   end else
  111.     SetField(fieldCategory, NewField);
  112. end;
  113.  
  114. //------------------------------------------------------------------------------
  115. // FONCTION MISE A JOUR DU CHAMPS ORIGINE
  116. //------------------------------------------------------------------------------
  117. procedure UpdateSourceField();
  118. begin
  119.   if (NewField = '') then
  120.   begin
  121.     if Input('Update Source Field by ScorEpioN', 'Entrez l''origine :', NewField) then
  122.     begin
  123.       SetField(fieldSource, NewField);
  124.     end;
  125.   end else
  126.     SetField(fieldSource, NewField);
  127. end;
  128.  
  129. //------------------------------------------------------------------------------
  130. // FONCTION COPIE TITRE SI VIDE
  131. //------------------------------------------------------------------------------
  132. procedure CopyTitle();
  133. begin
  134.     if GetField(fieldTranslatedTitle) = '' then
  135.     begin
  136.       SetField(fieldTranslatedTitle,GetField(fieldOriginalTitle));
  137.     end else
  138.     if GetField(fieldOriginalTitle) = '' then
  139.     begin
  140.       SetField(fieldOriginalTitle,GetField(fieldTranslatedTitle));
  141.     end;
  142. end;
  143.  
  144. //------------------------------------------------------------------------------
  145. // FONCTION MISE A JOUR DE LA CASSE DES TITRES ET DES NOMS
  146. //------------------------------------------------------------------------------
  147. procedure UpdateCasse();
  148. var
  149.   valeurChamps : String;
  150. begin
  151. // Titre Original
  152.   valeurChamps := '';
  153.   valeurChamps := GetField(fieldOriginalTitle);
  154.   valeurChamps := AnsiLowerCase(valeurChamps);
  155.   valeurChamps := AnsiUpFirstLetter(valeurChamps);
  156.   valeurChamps := AnsiMixedCase(valeurChamps,' -');
  157.   SetField(fieldOriginalTitle, valeurChamps);
  158. // Titre Traduit
  159.   valeurChamps := '';
  160.   valeurChamps := GetField(fieldTranslatedTitle);
  161.   valeurChamps := AnsiLowerCase(valeurChamps);
  162.   valeurChamps := AnsiUpFirstLetter(valeurChamps);
  163.   valeurChamps := AnsiMixedCase(valeurChamps,' -');
  164.   SetField(fieldTranslatedTitle, valeurChamps);
  165. // Nom du RΘalisateur
  166.   valeurChamps := '';
  167.   valeurChamps := GetField(fieldDirector);
  168.   valeurChamps := AnsiLowerCase(valeurChamps);
  169.   valeurChamps := AnsiUpFirstLetter(valeurChamps);
  170.   valeurChamps := AnsiMixedCase(valeurChamps,' -');
  171.   SetField(fieldDirector, valeurChamps);
  172. //Nom du Producteur
  173.   valeurChamps := '';
  174.   valeurChamps := GetField(fieldProducer);
  175.   valeurChamps := AnsiLowerCase(valeurChamps);
  176.   valeurChamps := AnsiUpFirstLetter(valeurChamps);
  177.   valeurChamps := AnsiMixedCase(valeurChamps,' -');
  178.   SetField(fieldProducer, valeurChamps);
  179. // Nom des Acteurs
  180.   valeurChamps := '';
  181.   valeurChamps := GetField(fieldActors);
  182.   valeurChamps := AnsiLowerCase(valeurChamps);
  183.   valeurChamps := AnsiUpFirstLetter(valeurChamps);
  184.   valeurChamps := AnsiMixedCase(valeurChamps,' -');
  185.   SetField(fieldActors, valeurChamps);
  186. end;
  187.  
  188. //------------------------------------------------------------------------------
  189. // NETTOIE LE TITRE DU FICHIER POUR AVOIR LE TITRE DE FILM ORIGINAL
  190. //------------------------------------------------------------------------------
  191.  
  192. procedure cleanTitleO();
  193. var
  194.   i,j, fin : Integer;
  195.   title, temp : String;
  196.  
  197. begin
  198.   title := GetField(fieldOriginalTitle);
  199.   title := AnsiUpperCase(title);
  200.  
  201.   if title <> '' then
  202.   begin
  203. // Nettoie les tags fichiers, merci Atmosfear pour les tags
  204.   i:=pos('.DVD',title);
  205.   if i <> 0 then
  206.   begin
  207.     title := copy(title,1,i-1);
  208.   end;
  209.   i:=pos('.DIVX',title);
  210.   if i <> 0 then
  211.   begin
  212.     title := copy(title,1,i-1);
  213.   end;
  214.   i:=pos('.FREN',title);
  215.   if i <> 0 then
  216.   begin
  217.     title := copy(title,1,i-1);
  218.   end;
  219.   i:=pos('.GERM',title);
  220.   if i <> 0 then
  221.   begin
  222.     title := copy(title,1,i-1);
  223.   end;
  224.   i:=pos('.INT',title);
  225.   if i <> 0 then
  226.   begin
  227.     title := copy(title,1,i-1);
  228.   end;
  229.   i:=pos('.LIM',title);
  230.   if i <> 0 then
  231.   begin
  232.     title := copy(title,1,i-1);
  233.   end;
  234.   i:=pos('.PROP',title);
  235.   if i <> 0 then
  236.   begin
  237.     title := copy(title,1,i-1);
  238.   end;
  239.   i:=pos('.REPACK',title);
  240.   if i <> 0 then
  241.   begin
  242.     title := copy(title,1,i-1);
  243.   end;
  244.   i:=pos('.SUBB',title);
  245.   if i <> 0 then
  246.   begin
  247.     title := copy(title,1,i-1);
  248.   end;
  249.   i:=pos('.UNSUB',title);
  250.   if i <> 0 then
  251.   begin
  252.     title := copy(title,1,i-1);
  253.   end;
  254.   i:=pos('.WS',title);
  255.   if i <> 0 then
  256.   begin
  257.     title := copy(title,1,i-1);
  258.   end;
  259.   i:=pos('.XVID',title);
  260.   if i <> 0 then
  261.   begin
  262.     title := copy(title,1,i-1);
  263.   end;
  264.   i:=pos('.AC3',title);
  265.   if i <> 0 then
  266.   begin
  267.     title := copy(title,1,i-1);
  268.   end;
  269.   i:=pos('.UNRAT',title);
  270.   if i <> 0 then
  271.   begin
  272.     title := copy(title,1,i-1);
  273.   end;
  274.  
  275.    title := StringReplace(title, '.', ' ');
  276.    title := StringReplace(title, ',', ' ');
  277.    title := StringReplace(title, ':', '');
  278.    title := StringReplace(title, '-', '');
  279.    title := StringReplace(title, '  ', ' ');
  280.  
  281.    i := 0;
  282. // Nettoie les tags de team
  283.    if (pos('(',title) <> 0) then
  284.    begin
  285.      i := pos('(',title);
  286.      temp := copy(title,0,i-1);
  287.      j := pos(')',title);
  288.      fin := Length(title);
  289.      title := temp + copy(title,j+1,fin);
  290.    end;
  291.  
  292.    if (pos('[',title) <> 0) then
  293.    begin
  294.      i := pos('[',title);
  295.      temp := copy(title,1,i-1);
  296.      j := pos(']',title);
  297.      fin := Length(title);
  298.      title := temp + copy(title,j+1,fin);
  299.    end;
  300.  
  301.    title := AnsiLowerCase(title);
  302.    title := AnsiUpFirstLetter(title);
  303.    title := AnsiMixedCase(title,' -');
  304.   end;
  305.    SetField(fieldOriginalTitle, title);
  306. end;
  307.  
  308. //------------------------------------------------------------------------------
  309. // NETTOIE LE TITRE DU FICHIER POUR AVOIR LE TITRE DE FILM TRADUIT
  310. //------------------------------------------------------------------------------
  311.  
  312. procedure cleanTitleT();
  313. var
  314.   i,j, fin : Integer;
  315.   title, temp : String;
  316.  
  317. begin
  318.   title := GetField(fieldTranslatedTitle);
  319.   title := AnsiUpperCase(title);
  320.  
  321.   if title <> '' then
  322.   begin
  323. // Nettoie les tags fichiers, merci Atmosfear pour les tags
  324.   i:=pos('.DVD',title);
  325.   if i <> 0 then
  326.   begin
  327.     title := copy(title,1,i-1);
  328.   end;
  329.   i:=pos('.DIVX',title);
  330.   if i <> 0 then
  331.   begin
  332.     title := copy(title,1,i-1);
  333.   end;
  334.   i:=pos('.FREN',title);
  335.   if i <> 0 then
  336.   begin
  337.     title := copy(title,1,i-1);
  338.   end;
  339.   i:=pos('.GERM',title);
  340.   if i <> 0 then
  341.   begin
  342.     title := copy(title,1,i-1);
  343.   end;
  344.   i:=pos('.INT',title);
  345.   if i <> 0 then
  346.   begin
  347.     title := copy(title,1,i-1);
  348.   end;
  349.   i:=pos('.LIM',title);
  350.   if i <> 0 then
  351.   begin
  352.     title := copy(title,1,i-1);
  353.   end;
  354.   i:=pos('.PROP',title);
  355.   if i <> 0 then
  356.   begin
  357.     title := copy(title,1,i-1);
  358.   end;
  359.   i:=pos('.REPACK',title);
  360.   if i <> 0 then
  361.   begin
  362.     title := copy(title,1,i-1);
  363.   end;
  364.   i:=pos('.SUBB',title);
  365.   if i <> 0 then
  366.   begin
  367.     title := copy(title,1,i-1);
  368.   end;
  369.   i:=pos('.UNSUB',title);
  370.   if i <> 0 then
  371.   begin
  372.     title := copy(title,1,i-1);
  373.   end;
  374.   i:=pos('.WS',title);
  375.   if i <> 0 then
  376.   begin
  377.     title := copy(title,1,i-1);
  378.   end;
  379.   i:=pos('.XVID',title);
  380.   if i <> 0 then
  381.   begin
  382.     title := copy(title,1,i-1);
  383.   end;
  384.   i:=pos('.AC3',title);
  385.   if i <> 0 then
  386.   begin
  387.     title := copy(title,1,i-1);
  388.   end;
  389.   i:=pos('.UNRAT',title);
  390.   if i <> 0 then
  391.   begin
  392.     title := copy(title,1,i-1);
  393.   end;
  394.  
  395.    title := StringReplace(title, '.', ' ');
  396.    title := StringReplace(title, ',', ' ');
  397.    title := StringReplace(title, ':', '');
  398.    title := StringReplace(title, '-', '');
  399.    title := StringReplace(title, '  ', ' ');
  400.  
  401.    i := 0;
  402. // Nettoie les tags de team
  403.    if (pos('(',title) <> 0) then
  404.    begin
  405.      i := pos('(',title);
  406.      temp := copy(title,0,i-1);
  407.      j := pos(')',title);
  408.      fin := Length(title);
  409.      title := temp + copy(title,j+1,fin);
  410.    end;
  411.  
  412.    if (pos('[',title) <> 0) then
  413.    begin
  414.      i := pos('[',title);
  415.      temp := copy(title,1,i-1);
  416.      j := pos(']',title);
  417.      fin := Length(title);
  418.      title := temp + copy(title,j+1,fin);
  419.    end;
  420.  
  421.    title := AnsiLowerCase(title);
  422.    title := AnsiUpFirstLetter(title);
  423.    title := AnsiMixedCase(title,' -');
  424.   end;
  425.    SetField(fieldTranslatedTitle, title);
  426. end;
  427.  
  428. //------------------------------------------------------------------------------
  429. // SUPPRIME UN MOT D'UN TITRE DE FILM TRADUIT
  430. //------------------------------------------------------------------------------
  431.  
  432. procedure cutTitleT();
  433. var
  434.   i,j, fin, finTitle : Integer;
  435.   title, temp, avant, apres : String;
  436. begin
  437.   title := GetField(fieldTranslatedTitle);
  438.   if (NewField = '') then
  439.   begin
  440.     if Input('Cut Title by ScorEpioN', 'Entrez le mot α supprimer des titres :', NewField) then
  441.     begin
  442.       title := ' '+title+' ';
  443.       i:=pos(NewField,title);
  444.       if i <> 0 then
  445.       begin
  446.         fin := length(NewField);
  447.     avant := copy(title,i-1,1);
  448.     apres := copy(title,i+fin,1);
  449.     if (avant = ' ') and (apres = ' ') then
  450.     begin
  451.       finTitle := length(title);
  452.       title := copy(title,1,i-1)+copy(title,i+fin,finTitle-i-fin+1);
  453.       title := StringReplace(title, '  ', ' ');
  454.         end;
  455.       end;
  456.     end;
  457.   end else
  458.   begin
  459.     title := ' '+title+' ';
  460.     i:=pos(NewField,title);
  461.     if i <> 0 then
  462.     begin
  463.       fin := length(NewField);
  464.       avant := copy(title,i-1,1);
  465.       apres := copy(title,i+fin,1);
  466.       if (avant = ' ') and (apres = ' ') then
  467.       begin
  468.     finTitle := length(title);
  469.     title := copy(title,1,i-1)+copy(title,i+fin,finTitle-i-fin+1);
  470.     title := StringReplace(title, '  ', ' ');
  471.       end;
  472.     end;
  473.   end;
  474.   SetField(fieldTranslatedTitle, Trim(title));
  475. end;
  476.  
  477. //------------------------------------------------------------------------------
  478. // SUPPRIME UN MOT D'UN TITRE DE FILM ORIGINAL
  479. //------------------------------------------------------------------------------
  480.  
  481. procedure cutTitleO();
  482. var
  483.   i,j, fin, finTitle : Integer;
  484.   title, temp, avant, apres : String;
  485. begin
  486.   title := GetField(fieldOriginalTitle);
  487.   if (NewField = '') then
  488.   begin
  489.     if Input('Cut Title by ScorEpioN', 'Entrez le mot α supprimer des titres :', NewField) then
  490.     begin
  491.       title := ' '+title+' ';
  492.       i:=pos(NewField,title);
  493.       if i <> 0 then
  494.       begin
  495.         fin := length(NewField);
  496.     avant := copy(title,i-1,1);
  497.     apres := copy(title,i+fin,1);
  498.     if (avant = ' ') and (apres = ' ') then
  499.     begin
  500.       finTitle := length(title);
  501.       title := copy(title,1,i-1)+copy(title,i+fin,finTitle-i-fin+1);
  502.       title := StringReplace(title, '  ', ' ');
  503.         end;
  504.       end;
  505.     end;
  506.   end else
  507.   begin
  508.     title := ' '+title+' ';
  509.     i:=pos(NewField,title);
  510.     if i <> 0 then
  511.     begin
  512.       fin := length(NewField);
  513.       avant := copy(title,i-1,1);
  514.       apres := copy(title,i+fin,1);
  515.       if (avant = ' ') and (apres = ' ') then
  516.       begin
  517.     finTitle := length(title);
  518.     title := copy(title,1,i-1)+copy(title,i+fin,finTitle-i-fin+1);
  519.     title := StringReplace(title, '  ', ' ');
  520.       end;
  521.     end;
  522.   end;
  523.   SetField(fieldOriginalTitle, Trim(title));
  524. end;
  525.  
  526. //------------------------------------------------------------------------------
  527. // VERIFIER LA VERSION DU SCRIPT
  528. //------------------------------------------------------------------------------
  529.  
  530. procedure verifVersion();
  531. var
  532.    Line, NewVersion, MaVersion, Telecharge : String;
  533.    BeginPos, EndPos : Integer;
  534. begin
  535.   MaVersion := '6';
  536.   Line := GetPage('http://forum.antp.be/phpbb2/viewtopic.php?t=1453');
  537.   BeginPos := pos('TELECHARGER LE SCRIPT UPDATE ALL FIELDS v', Line);
  538.   delete(Line,1, BeginPos+40);
  539.   EndPos := pos('du', Line);
  540.   NewVersion := copy(Line, 1, EndPos - 2);
  541.   PickTreeClear;
  542.   PickTreeAdd('Votre version est la '+MaVersion+', la derniΦre est la '+NewVersion+'.', '');
  543.   PickTreeAdd('Pour tΘlΘcharger la derniΦre version :', '');
  544.   PickTreeAdd('Cliquez ici', 'DL');
  545.   PickTreeAdd('Le script sera tΘlΘcharger dans le mΩme rΘpertoire que votre catalogue', '');
  546.   PickTreeAdd('Cliquez sur annuler pour quitter', '');
  547.   begin
  548.     if PickTreeExec(Telecharge)=true then
  549.       if (Telecharge = 'DL') then
  550.       begin
  551.         GetPicture('http://www.ifrance.com/ricoland/Update%20Fields%20(FR-US).ifs', True);
  552.       end else
  553.       begin
  554.         exit;
  555.       end;
  556.     end;
  557. end;
  558.  
  559. //------------------------------------------------------------------------------
  560. // TRADUIT LE CHAMPS DESCRIPTION
  561. //------------------------------------------------------------------------------
  562.  
  563. procedure translateSynopsis();
  564. var
  565.    Adresse, Parametre, Description, Resultat, Line : String;
  566.    BeginPos, EndPos : Integer;
  567. begin
  568.      if (NewField = '') then
  569.      begin
  570.           PickTreeClear;
  571.           PickTreeAdd('SΘlectionner les langues source et cible :', '');
  572.       PickTreeAdd('Du chinois simpl. vers l''anglais', 'zh_en');
  573.       PickTreeAdd('Du chinois trad. vers l''anglais', 'zt_en');
  574.       PickTreeAdd('De l''anglais vers le chinois simpl.', 'en_zh');
  575.       PickTreeAdd('De l''anglais vers le chinois trad.', 'en_zt');
  576.       PickTreeAdd('De l''anglais vers le hollandais', 'en_nl');
  577.       PickTreeAdd('De l''anglais vers le franτais', 'en_fr');
  578.       PickTreeAdd('De l''anglais vers l''allemand', 'en_de');
  579.       PickTreeAdd('De l''anglais vers le grec', 'en_el');
  580.       PickTreeAdd('De l''anglais vers l''italien', 'en_it');
  581.       PickTreeAdd('De l''anglais vers le japonais', 'en_ja');
  582.       PickTreeAdd('De l''anglais vers corΘen', 'en_ko');
  583.       PickTreeAdd('De l''anglais vers le portugais', 'en_pt');
  584.       PickTreeAdd('De l''anglais vers le russe', 'en_ru');
  585.       PickTreeAdd('De l''anglais vers l''espagnol', 'en_es');
  586.       PickTreeAdd('Du hollandais vers l''anglais', 'nl_en');
  587.       PickTreeAdd('Du hollandais vers le franτais', 'nl_fr');
  588.       PickTreeAdd('Du franτais vers le hollandais', 'fr_nl');
  589.       PickTreeAdd('Du franτais vers l''anglais', 'fr_en');
  590.       PickTreeAdd('Du franτais vers l''allemand', 'fr_de');
  591.       PickTreeAdd('Du franτais vers le grec', 'fr_el');
  592.       PickTreeAdd('Du franτais vers l''italien', 'fr_it');
  593.       PickTreeAdd('Du franτais vers le portugais', 'fr_pt');
  594.       PickTreeAdd('Du franτais vers l''espagnol', 'fr_es');
  595.       PickTreeAdd('De l''allemand vers l''anglais', 'de_en');
  596.       PickTreeAdd('De l''allemand vers le franτais', 'de_fr');
  597.       PickTreeAdd('Du grec vers l''anglais', 'el_en');
  598.       PickTreeAdd('Du grec vers le franτais', 'el_fr');
  599.       PickTreeAdd('De l''italien vers l''anglais', 'it_en');
  600.       PickTreeAdd('De l''italien vers le franτais', 'it_fr');
  601.       PickTreeAdd('Du japonais vers l''anglais', 'ja_en');
  602.       PickTreeAdd('Du corΘen vers l''anglais', 'ko_en');
  603.       PickTreeAdd('Du portugais vers l''anglais', 'pt_en');
  604.       PickTreeAdd('Du portugais vers le franτais', ' pt_fr');
  605.       PickTreeAdd('Du russe vers l''anglais', 'ru_en');
  606.       PickTreeAdd('De l''espagnol vers l''anglais', 'es_en');
  607.       PickTreeAdd('De l''espagnol vers le franτais', 'es_fr');
  608.       begin
  609.         if PickTreeExec(NewField)=true then
  610.               Description := GetField(fieldDescription);
  611.               Description := StringReplace(Description , ' ', '+');
  612.               Description := StringReplace(Description , #13#10, '+');
  613.               Description := StringReplace(Description , '''', '+');
  614.               Description := StringReplace(Description, 'Θ', 'e');
  615.                  Description := StringReplace(Description, 'Φ', 'e');
  616.           Description := StringReplace(Description, 'Ω', 'a');
  617.           Description := StringReplace(Description, 'δ', 'a');
  618.               Description := StringReplace(Description, 'α', 'a');
  619.                  Description := StringReplace(Description, 'τ', 'c');
  620.               Description := StringReplace(Description, '∙', 'u');
  621.               Description := StringReplace(Description, '√', 'u');
  622.               Description := StringReplace(Description, '⌠', 'o');
  623.               (**'Θ', '%C3%A9' 'Φ', '%C3%A8' 'Ω', '%C3%AA' 'δ', '%C3%AB' 'α', '%C3%A0' 'τ', '%C3%A7' '∙', '%C3%B9' '√', '%C3%BB' '⌠', '%C3%B4'*)
  624.           Adresse := URLEncode('http://babelfish.altavista.com/tr');
  625.                 Parametre := 'do it =done&intl=1&tt=urltext&trtext='+Description+'&lp='+NewField;
  626.               Line := PostPage(Adresse,Parametre);
  627.               BeginPos := Pos('<td bgcolor=white class=s><div style=padding:10px;>', Line);
  628.               Delete(Line, 1, BeginPos+50);
  629.           EndPos := Pos('</div></td>', Line);
  630.           Resultat := Copy(Line, 1, EndPos-1 );
  631.           Resultat := StringReplace(Resultat, #13#10, ' ');
  632.           Resultat := StringReplace(Resultat, '', '⌠');
  633.           Resultat := StringReplace(Resultat, '├⌐', 'Θ');
  634.           Resultat := StringReplace(Resultat, '├¿', 'Φ');
  635.           Resultat := StringReplace(Resultat, 'α½', 'δ');
  636.           Resultat := StringReplace(Resultat, 'α¬', 'Ω');
  637.           Resultat := StringReplace(Resultat, '├', 'α');
  638.           Resultat := StringReplace(Resultat, 'αº', 'τ');
  639.           Resultat := StringReplace(Resultat, 'α┤', '⌠');
  640.           HTMLDecode(Resultat);
  641.           HTMLRemoveTags(Resultat);
  642.               SetField(fieldDescription, Resultat);
  643.         end;
  644.      end else
  645.      begin
  646.        Description := GetField(fieldDescription);
  647.        Description := StringReplace(Description , ' ', '+');
  648.        Description := StringReplace(Description , #13#10, '+');
  649.        Description := StringReplace(Description , '''', '+');
  650.        Description := StringReplace(Description, 'Θ', 'e');
  651.        Description := StringReplace(Description, 'Φ', 'e');
  652.        Description := StringReplace(Description, 'Ω', 'a');
  653.        Description := StringReplace(Description, 'δ', 'a');
  654.        Description := StringReplace(Description, 'α', 'a');
  655.        Description := StringReplace(Description, 'τ', 'c');
  656.        Description := StringReplace(Description, '∙', 'u');
  657.        Description := StringReplace(Description, '√', 'u');
  658.        Description := StringReplace(Description, '⌠', 'o');
  659.        Adresse := URLEncode('http://babelfish.altavista.com/tr');
  660.        Parametre := URLEncode('do it =done&intl=1&tt=urltext&trtext='+Description+'&lp='+NewField);
  661.        Line := PostPage(Adresse,Parametre);
  662.        BeginPos := Pos('<td bgcolor=white class=s><div style=padding:10px;>', Line);
  663.        Delete(Line, 1, BeginPos+50);
  664.        EndPos := Pos('</div></td>', Line);
  665.        Resultat := Copy(Line, 1, EndPos-1 );
  666.        Resultat := StringReplace(Resultat, #13#10, ' ');
  667.        Resultat := StringReplace(Resultat, '', '⌠');
  668.        Resultat := StringReplace(Resultat, '├⌐', 'Θ');
  669.        Resultat := StringReplace(Resultat, '├¿', 'Φ');
  670.        Resultat := StringReplace(Resultat, 'α½', 'δ');
  671.        Resultat := StringReplace(Resultat, 'α¬', 'Ω');
  672.        Resultat := StringReplace(Resultat, '├', 'α');
  673.        Resultat := StringReplace(Resultat, 'αº', 'τ');
  674.        Resultat := StringReplace(Resultat, 'α┤', '⌠');
  675.        HTMLDecode(Resultat);
  676.        HTMLRemoveTags(Resultat);
  677.        SetField(fieldDescription, Resultat);
  678.      end;
  679. end;
  680.  
  681. //------------------------------------------------------------------------------
  682. // PROGRAMME PRINCIPAL
  683. //------------------------------------------------------------------------------
  684.  
  685. begin
  686.   if CheckVersion(3,4,0) then
  687.   begin
  688.     if update = '' then
  689.     begin
  690. //vide la liste des films
  691.     PickTreeClear;
  692.     PickTreeAdd('Choisir le type de mise α jour (Choose which update) :', '');
  693.     PickTreeAdd('Traduire la description avec Altavista (Translate Synopsis)', 'Translate');
  694.     PickTreeAdd('Type de support (Media Type)', 'TypeSupport');
  695.     PickTreeAdd('Pays (Country)', 'Pays');
  696.     PickTreeAdd('Langue (Language)', 'Langue');
  697.     PickTreeAdd('Sous-Titres (Subtitle)', 'SousTitre');
  698.     PickTreeAdd('CatΘgorie (Category)', 'Categorie');
  699.     PickTreeAdd('Origine (Source)', 'Origine');
  700.     PickTreeAdd('Casse (UpFirstLetter)', 'Casse');
  701.     PickTreeAdd('Copie si titre vide (Copy If Empty Title)', 'Copier');
  702.     PickTreeAdd('Nettoie les titres traduits (Clean Translated Title)', 'CleanT');
  703.     PickTreeAdd('Nettoie les titres originaux (Clean Original Title)', 'CleanO');
  704.     PickTreeAdd('Coupe les titres traduits (Cut Translated Title)', 'CutT');
  705.     PickTreeAdd('Coupe les titres originaux (Cut Original Title)', 'CutO');
  706.     PickTreeAdd('DΘplace les commentaires dans la description (move Comments)', 'Move');
  707.     PickTreeAdd(' ', '');
  708.     PickTreeAdd('Verifier si vous avez la derniΦre version', 'version');
  709.     begin
  710.     if PickTreeExec(Update)=true then
  711.       if (Update = 'Move') then
  712.       begin
  713.         moveComments();
  714.       end else
  715.       if (Update = 'Translate') then
  716.       begin
  717.         translateSynopsis();
  718.       end else
  719.       if (Update = 'version') then
  720.       begin
  721.         verifVersion();
  722.       end else
  723.       if (Update = 'CleanT') then
  724.       begin
  725.         cleanTitleT();
  726.       end else
  727.       if (Update = 'CleanO') then
  728.       begin
  729.         cleanTitleO();
  730.       end else
  731.       if (Update = 'CutT') then
  732.       begin
  733.         cutTitleT();
  734.       end else
  735.       if (Update = 'CutO') then
  736.       begin
  737.         cutTitleO();
  738.       end else
  739.       if (Update = 'Pays') then
  740.       begin
  741.         UpdateCountryField();
  742.       end else
  743.       if (Update = 'Origine') then
  744.       begin
  745.         UpdateSourceField();
  746.       end else
  747.       if (Update = 'Categorie') then
  748.       begin
  749.         UpdateCategorieField();
  750.       end else
  751.       if (Update = 'Copier') then
  752.       begin
  753.         CopyTitle();
  754.       end else
  755.       if (Update = 'Casse') then
  756.       begin
  757.         UpdateCasse();
  758.       end else
  759.       if (Update = 'TypeSupport') then
  760.       begin
  761.         UpdateMediaTypeField();
  762.       end else
  763.       if (Update = 'Langue') then
  764.       begin
  765.         UpdateLanguageField();
  766.       end else
  767.       if (Update = 'SousTitre') then
  768.       begin
  769.         UpdateSubtitlesField();
  770.       end;
  771.     end;
  772.     end else
  773.     begin
  774.       if (Update = 'Move') then
  775.       begin
  776.         moveComments();
  777.       end else
  778.       if (Update = 'Translate') then
  779.       begin
  780.         translateSynopsis();
  781.       end else
  782.       if (Update = 'CleanT') then
  783.       begin
  784.         cleanTitleT();
  785.       end else
  786.       if (Update = 'CleanO') then
  787.       begin
  788.         cleanTitleO();
  789.       end else
  790.       if (Update = 'CutT') then
  791.       begin
  792.         cutTitleT();
  793.       end else
  794.       if (Update = 'CutO') then
  795.       begin
  796.         cutTitleO();
  797.       end else
  798.       if (Update = 'Casse') then
  799.       begin
  800.         UpdateCasse();
  801.       end else
  802.       if (Update = 'Copier') then
  803.       begin
  804.         CopyTitle();
  805.       end else
  806.       if (Update = 'Pays') then
  807.       begin
  808.         UpdateCountryField();
  809.       end else
  810.       if (Update = 'Origine') then
  811.       begin
  812.         UpdateSourceField();
  813.       end else
  814.       if (Update = 'Categorie') then
  815.       begin
  816.         UpdateCategorieField();
  817.       end else
  818.       if (Update = 'TypeSupport') then
  819.       begin
  820.         UpdateMediaTypeField();
  821.       end else
  822.       if (Update = 'Langue') then
  823.       begin
  824.         UpdateLanguageField();
  825.       end else
  826.       if (Update = 'SousTitre') then
  827.       begin
  828.         UpdateSubtitlesField();
  829.       end;
  830.     end;
  831.   end else
  832.     ShowMessage('Ce script requiert une version plus rΘcente de Ant Movie Catalog (au moins la version 3.4.0)');
  833. end.
  834.